Gutmann algoritmasını çöpe atmak


Gutmann'ın Algoritması Çöpe Atılıyor



Veri İmhası Hakkında Temel Bilgiler



Verilerin doğru bir şekilde silinmesi, bilgi güvenliğinin önemli ancak çoğu zaman ihmal edilen ve yeterince anlaşılamayan bir konusudur. Verilerin başkaları tarafından geri döndürülemeyecek bir şekilde ve güvenli olarak silinmesi ihtiyacı çeşitli nedenlerle ortaya çıkabilir. Bu ihtiyaçlar, genellikle devlet sırlarını koruyan GDPR (General Data Protection Regulation - Genel Veri Koruma Yönetmeliği) gibi yasalara veya özel kuruluşları belirli bilgileri güvenli bir şekilde saklamaya zorlayan mevzuatlar tarafından yönetilir.
Ayrıca, işbirliği şartlarını yöneten ve ticari sırların kapsamını tanımlayan sözleşmelerden ve anlaşmalardan da kaynaklanabilir. Bazen de, hiçbir yükümlülük olmaksızın, çıkarlarımızı ve mahremiyetimizi korumak isteriz ve başkalarının hakkımızda her şeyi bilmesini istemeyiz. Verileri silmenin aynı zamanda suçlara ilişkin dijital kanıtların saklanması ve yok edilmesi açısından da karanlık bir tarafı vardır. Bu da akıllıca ve etkili bir şekilde yapılabileceği gibi aptalca ve beceriksizce de yapılabilir.
Bu makalede, 1996 yılının Temmuz ayında "USENIX" konferansında sunulan Peter Gutmann'ın "Manyetik ve Katı Hal Bellekten Verilerin Güvenli Bir Şekilde Silinmesi" ("Secure Deletion of Data from Magnetic and Solid-State Memory") adlı yayınına atıfta bulunuyoruz.
Bu makale, verilerin üzerine yazılması bağlamında en çok alıntı yapılan yayındır ve bilgiyi yok etmeye yönelik en popüler algoritmalardan birinin temelini oluşturur. Bazı çevrelerde Peter Gutmann'ın çalışmaları “dini dogma” seviyesine yükseltilmiştir ve kendisi tartışmasız bir otorite olarak kabul görmektedir. Bununla birlikte, bu makale, yazarın sabit disklerin işleyişini ve bilgi depolama mantığını gerçekten anlayıp anlamadığı ile ilgili şüphe uyandıran bir dizi tez ve varsayım içermektedir. Biz, bu makalede, bu konular üzerinde daha fazla duracağız.



Depolama Ortamı Türleri



Veri taşıyıcılarını birçok şekilde sınıflandırabiliriz. Özellikle, bunları analog ve dijital olarak ikiye ayırabiliriz. Dijital depolama ortamı, bilgileri makinelerin anlayabileceği şekilde saklar. Bu ortamlarda bilgiler, birler ve sıfırlardan oluşan mantıksal durumlardan ibarettir. Diğer veri taşıyıcılara ise analog veri taşıyıcıları adı verilir. Dijital medya söz konusu olduğunda bile mantıksal durumları belirlemenin temeli, kodlama ve kod çözme işlemleriyle dijital hale getirilen belirli mevcut analog durumlardır. Mevcut durumları belirli mantıksal durumlar olarak yorumlama süreci genel olarak kabul görmüş bir eğilimdir.
Depolama ortamlarını sınıflandırmak için kabul edilmiş en yaygın kriter, altlarında yatan fiziksel olayların mantıksal durumlar olarak yorumlanmasıdır. Veri depolama teknolojisine ilişkin olarak ortamları şu şekilde sınıflandırabiliriz:

MANYETİK:
Sabit Disk Sürücüleri (HDD)
Disketler (FDD)
Manyetik Bantlar (Linear Tape Open – LTO)

OPTİK:
Kompakt Diskler (CD)
Dijital Çok Yönlülük Diskler (DVD),
Blu-Ray (BD-R)
Yüksek Çözünürlüklü DVD (HD-DVD)

YARI İLETKENLER:
Katı Hal Sürücüler (SSD)
USB Bellekler
Hafıza Kartları (SD, CF, MMC, xD, SM, MSPro...)
Gömülü Flash-NAND Bellekler (eMMC, MCP...)

REZİSTİF:
Faz Değişimli Rastgele Erişim Bellek (Phase Change Random Access Memory-PCRAM)
Manyeto Dirençli Rastgele Erişimli Bellek (Magnetoresistive Random Access Memory-MRAM)
ReRAM
NanoRAM

KAĞIT:
Delikli Kartlar
Delikli Şeritler

Bilgi imhası açısından veri taşıyıcıları, kalıcı (enerjiden bağımsız, bir güç kaynağına bağlı olmadan bile uzun yıllar verileri saklama yeteneğine sahip) ve geçici (mantıksal durumları sürdürebilmek için enerjiye gereksinim duyan) olarak sınıflandırılabilir. Geçici veri taşıyıcılar, DRAM (Dinamik Rasgele Erişimli Bellek) ve SRAM (Statik Rasgele Erişimli Bellek) olarak ikiye ayrılır. Bu veri taşıyıcılarda verileri geri döndürülemez bir şekilde silmek için enerjiyi kısa bir süre kesmek yeterlidir. Enerji kesilmesinin hemen ardından mantıksal durumlarını kaybederler. Bu nedenle bu veri taşıyıcıları daha fazla tartışmayacağız.
Veri taşıyıcıları ayrıca yeniden yazılabilir ve bir kez yazılabilir (yeniden yazılamayan) medya olarak da ikiye ayrılabiliriz. Bir kere yazılabilir medyalara veriler yalnızca bir defaya mahsus yazılabilir. Verilerin silinmesi, içeriğinin değiştirilmesi ve bu medyaya tekrar veri yazılması söz konusu değildir. Yeniden yazılamayan medyaların en tipik örnekleri CD-ROM ve DVD-ROM lardır. Bu medya kategorisinde, içerikleri başka içeriklerle değiştirerek yok etmek mümkün değildir ve bilgileri silmek için ortamı fiziksel olarak yok etmek gerekir. Yeniden yazılabilir medyaların içerikleri bir çok kez değiştirilebildiğinden, mevcut verilerin üzerine yazma yöntemi, bilgiyi yok etme yöntemi olarak kullanılabilmektedir.



Veri İmhasına İlişkin Standartlar



Veri imhası, resmi, askeri ve bilimsel kurumlar tarafından geliştirilen çeşitli standartlara tabidir. Bu standartlar, imha edilmesi gereken bilgileri farklı şekillerde sınıflandırmaktadır ve çoğu zaman medyanın içeriğine bağlı olarak farklı veri imha yöntemlerini öngörmektedirler. Ancak, veriler yazılımların ve dosya sistemlerinin mantıksal yapıları düzeyinde yorumlandığından, veri içeriğinin imha sürecine hiçbir etkisinin olmadığını kolaylıkla anlayabiliriz. Depolama ortamı açısından bakıldığında, verilere ait mantıksal sıfırlar ve birler, nasıl yorumladığımızdan ve ne tür öznel anlamlar yüklediğimizden bağımsız olarak farklı şekilde depolanır.
Veri imhasını açıklayan standartlar, farklı veri imha yöntemlerinin etkin olup olmadığını değerlendirirken çeşitli şekillerde bir dizi tutarsızlıklar içerir. Bazı durumlarda, veri imhası için çok aşamalı prosedürler içeren farklı metotlar önerilir. Bu yaklaşım, birden fazla düzenlemeye uyum sağlama ihtiyacı açısından farklı standartlara dayalı bir çok dahili prosedürde de popülerdir. Standartların ayrıntılı bir şekilde okunması, bu standartları yazan kişilerin veri depolama ortamlarının işleyişi ile ilgili anlayış düzeyini de ortaya çıkartır. Bazı öneriler, kağıt belgelerin imhasını düzenleyen bazı yönetmeliklerden doğrudan aktarılmış gibi görünse de, aşağıda bahsi geçen standartlarda yer alan önerilerin analizi bu makalenin kapsamı dışındadır.

Aşağıda veri imhasını tanımlayan en popüler ve yaygın olarak kullanılan standartların bir listesini bulacaksınız:

1. AFSSI-5020 (Air Force System Security Instruction 5020),
2. CSEC ITSG-06 (Communication Security Establishment Canada, Information Technology Security Guide - 06),
3. HMG-IS5 (Her/His Majesty Government Infosec Standard 5),
4. IEEE 2883-2022 (Institute of Electrical and Electronics Engineers, Standard for Sanitizing Storage),
5. NAVSO P-5239-26 (Navy Staff Office Publication 5239-26, Information Systems Security Program Guidelines),
6. NISPOM DoD 5220.22-M (National Industrial Security Program Operating Manual, Department of Defence 5220.22-M),
7. NIST SP 800-88 (National Institute of Standards and Technology, Guidelines for Media Sanitization),
8. NSCS-TG-025 (National Computer Security Center, Technical Guidelines 025, A Guide to Understanding Data Remanence in Automated Information Systems),
9. RCMP TSSIT OST-II (Royal Canadian Mounted Police, Media Sanitation of the Technical Security Standards for Information Technology),
10. VSITR (Verschlusssachen IT Richtlinien),
11. ГОСТ Р50739-95 (Средства вычислительной техники. Защита от несанкционированного доступа к информации. Общие технические требования),



Veri İmha Yöntemleri



Bahsi geçen standartlar veri imha yöntemlerini farklı şekillerde sınıflandırmaktadır ancak teknik açıdan ve amacımız açısından bakarsak bu yöntemleri etkili ve etkisiz olarak ikiye ayırabiliriz. Etkili veri imha yönteminde veriler imha edildikten sonra, hem bilinen ve ulaşılabilen veri kurtarma yöntemlerini hem de gelecekte potansiyel olarak geliştirilebilecek veri kurtarma yöntemlerini kullanıldığımızda imha edilen verilerin kurtarılmasının imkansız olması gerekir. Geriye kalan yöntemler ise sadece teorik olasılıklarla veri kurtarmaya ruhsat veren etkisiz yöntemlerdir.
Veri imha yöntemlerinin etkinliğine ilişkin bu tanımı benimseyerek, veri imha prosedürlerini optimize etmek için iki pratik sonuç çıkarabiliriz. Öncelikle, amaca katkıda bulunmadıkları için etkisiz olanları gereksiz çaba ve maliyet olarak değerlendirebiliriz. İkinci olarak, veri imhası için etkili olan tek bir prosedür seçebiliriz.
Bu yaklaşımla, belirli medya kategorileri için etkili bilgi yok etme yöntemlerinin belirlenmesine odaklanabiliriz. Veri imha yöntemlerinin etkinliğinin, bilgileri depolamak için kullanılan teknolojiye bağlı olarak değişebileceğini aklımızda tutmalıyız. Örneğin manyetiksizleştirme, manyetik medya için etkili olabilir, ancak yarı iletken veya optik medya için işe yaramayacaktır.
Veri imha yöntemleri de donanımsal (fiziksel) ve yazılımsal (mantıksal) yöntemler olarak ikiye ayrılır. Donanım tabanlı yöntemler, medyanın içeriğini okunamaz hale getirecek şekilde müdahale etmeyi içerir. Ancak medyayı yok etmenin veya zarar vermenin bilgiyi yok etmekle aynı şey olmadığını, dolayısıyla her disk hasarının veri kurtarmayı imkansız hale getirmediğini unutmamak önemlidir. Aksine, veri kurtarma konusunda uzmanlaşmış şirketler, içeriğini yok etme niyetiyle donanımına kasıtlı olarak zarar verilmiş ortamlardan, pratik olarak veri kurtarma yöntemlerinin geliştirilmediği birçok durumda bile bilgileri kurtarırlar. Gelecekte bu tür yöntemlerin geliştirilmesi için teorik bir temel mevcuttur.
Yazılım tabanlı yöntemler ise medyaya zarar vermeden bilginin kendisini yok etmeyi amaçlar. Fiziksel yöntemlerden farklı olarak, medyanın tüm içeriğini imha etmeden seçilen verilerin selektif olarak imha edilmesini sağlarlar. Yazılım tabanlı yöntemlerde, imha edilmek istenen veriler başka içeriklerle değiştirilmek suretiyle (üzerine yazma) yok edilirler. Şayet, imha edilmek istenen verilerin üzerine yeni veriler yazılmıyorsa ve yalnızca dosya sistemlerinin mantıksal yapılarında imha edilmek istenen verileri tanımlayan meta veriler siliniyorsa, bilginin kendisi kurtarılabilir.
Ancak, imha edilmek istenen verilerin üzerine yazılsa bile bu verilerin kurtarılabilirliği konusunda hâlâ şüpheler bulunmaktadır. Tartışma çoğunlukla, veri imhası için gereken “üzerine yazma işleminin” kaç kez tekrarlanacağı ile ilgilidir. Bazen de kullanılan “üzerine yazma desenlerine” de dikkat çekilir. Tüm bunlar, genellikle kullanıcıların belirli bir veri imha yöntemini veya aracını seçmeye zorlamak için yada alternatif yöntemleri veya araçları itibarsızlaştırmak amacıyla bir pazarlama taktiği olarak da kullanılır.
Üzerine yazılan verilerin kurtarılmasını amaçlayan yöntemlere yönelik kavramlar 1980'lerin sonlarında ve 1990'ların başlarında ortaya çıktı. O dönemde, öncelikle manyetik kuvvet mikroskobu (magnetic force microscopy) kullanılarak manyetik katmanın önceki mıknatıslanma durumunu geri kazanmayı amaçlayan bir dizi çalışma yürütüldü; bunların arasında Romel Gomez liderliğindeki ekibin çalışması özel bir ilgiyi hak etmektedir. Bir başka yöntem ise öncekine göre daha az popüler olsa da manyetik kafa bloğundan alınan sinyalin osiloskop altında incelenmesiydi. Peter Gutmann'ın makalesi, 80'lerin sonu ve 90'ların ilk yarısında yürütülen çalışmaların bir nevi özeti niteliğinde olup, “veri üzerine yazmanın etkinliği” hakkındaki kuşkuları ortadan kaldıracak bir çözüm önermektedir.

Fiziksel veri imha yöntemleri şunları içerir:

Mekanik (çekiçleme, delme ve medyayı özel parçalayıcılarla parçalama v.b.)
Termal (ateşte yakmak, metalurjik fırınlarda eritmek v.b.)
Kimyasal (medya üzerine çeşitli kimyasallar dökme v.b.)
Demanyetizasyon (medyanın manyetik alanla etkileşimi v.b.)
Endüktif (farklı radyasyon türlerine maruz bırakma. Örneğin; UV, iyonlaştırıcı, mikrodalga v.b.)
Piroteknik (piroteknik ve patlayıcı maddeler kullanma)

Yazılımsal veri imha yöntemleri şunlardır::

Dosyaları sistem çöp kutusuna atma, özel bir dizine taşıma (etkisiz bir yöntemdir)
Dosya sistemini meta verisi düzeyinde silme (veri kurtarma olasılığı birçok faktöre bağlıdır. Örneğin: medya türü ve TRIM işlevinin çalışması gibi)
Bölüm biçimlendirme (etkili olup olmaması biçimlendirme yönteminin yanı sıra medya türüne, aygıt yazılımı çözümlerine, TRIM desteğine v.b. bağlıdır)
Üzerine yazma (farklı türde ve sayıda üzerine yazma desenleri kullanma - bu makale bununla ilgilidir)
Güvenli silme (firmware düzeyinde uygulanan medya temizleme prosedürü)
Blok silme (yarı iletken medyanın firmware’ına uygulanan fiziksel bir blok silme prosedürü)



Peter Gutmann'ın Yazdıkları...



Manyetik Kayıtta “Bit” Kavramı



"... when a one is written to disk the media records a one, and when a zero is written the media records a zero. However the actual effect is closer to obtaining a 0.95 when a zero is overwritten with a one, and a 1.05 when a one is overwritten with a one."

"..... mantıksal 1 bilgisi diske yazıldığında medya mantıksal 1 bilgisini, mantıksal 0 bilgisi diske yazıldığında ise medya mantıksal 0 bilgisini kaydeder. Ancak gerçek etki mantıksal 0 bilgisinin üzerine mantıksal 1 bilgisi yazıldığında 0.95, mantıksal 1 bilgisinin üzerine mantıksal 1 bilgisi yazıldığında ise 1.05 elde etmeye daha yakındır."

Bu varsayımı ele almak için, manyetik kayıtta fiziksel olarak bit kaydı nasıl gerçekleşiyor, hangi fiziksel durum mantıksal 0 ve hangi fiziksel durum mantıksal 1 bilgisini oluşturuyor. Bunu anlamak için, önce manyetik medyanın nasıl okunduğuna bakmamız gerekir.
Manyetik ortamdan elde edilen veriler, mıknatıslanmış bir yüzey (manyetik bantlar, disketler, eski sabit disk sürücüleri v.b.) üzerinde hareket eden okuyucu kafalar tarafından okunur. Okuyucu kafanın altında hareket eden mıknatıslanmış yüzey, okuyucu kafanın ucunda bulunan bobinde değişken (alternatif) elektrik darbelerinin indüklenmesine sebep olur. Okuyucu kafada oluşan bu elektriksel darbeler, mantıksal darbeler olarak yorumlanır. Elektriksel darbenin varlığı mantıksal 1, yokluğu ise mantıksal 0 değerini oluşturur.
Peki sabit ve değişken manyetik alan bölgeleri nerelerdir? Manyetik özellikler sergileyen herhangi bir cisimde, homojen mıknatıslanma yani manyetik bölgeleri tanımlamak mümkündür. Homojen mıknatıslanma bölgeleri, birbirlerinden alan duvarları ile ayrılır; bu duvarlar mıknatıslanma vektörünün polarizasyonunun değiştiği bölgelerdir. Ve değişken mıknatıslanma alanları olan bu duvarlar, mantıksal 1’ler olarak yorumlanan darbelere neden olur. Bölgelerin kendisi ise sabit mıknatıslanma bölgeleridir.
Manyetik kayıt, kayıt ortamına ait yüzeyin arzu edilen bir şekilde düzenlenmesini kapsar. Bu süreçte bölgelerin polariteleri değiştirilebileceği gibi, büyüklükleri de değiştirebilir. Alan duvarları kayabilir, ortadan kalkabilir veya yenileri oluşabilir. Mantıksal 1 değerinin diğer bir mantıksal 1 değerinin üzerine yazılmasından bahsedebilmek için, yüzey yeniden mıknatıslandıktan sonra oluşan alan duvarının bir öncekiyle tam olarak aynı yerde (üst üste) olması gerekir. Dolayısıyla pratikte mantıksal 1 değerinin üzerine tam olarak mantıksal 1 değerinin mi yoksa mantıksal 0 değerinin mi yazıldığını kesin olarak söylemek mümkün değildir.
Mıknatıslanmanın önceki polarizasyon durumu, alan duvarlarının şeklini ve genişliğini, dolayısıyla da neden olduğu darbelerin şeklini ve genişliğini etkileyebilir. Bu konu 1980'lerin başında fark edilmiştir ve Serhiy Kojenevskıy (Сергій Коженевський) tarafından 'Перезапись Информации' adlı kitabında ayrıntılı olarak açıklanmıştır. Bununla birlikte, üzerlerine yazılan verileri bu şekilde kurtarmak istiyorsak, bizi ilgilendiren kısım mıknatıslanan alanın önceki polaritesi değil, alan duvarlarının önceki düzenidir. Osilaskop ile yapılan çalışmaların açıklanan sonuçlarına baktığımızda verilerin üzerlerine yazılmadan önceki durumunda oluşan alan duvarlarına ait düzenin yeterli doğrulukta belirlenme olasılığının mümkün olamayacağı görülmektedir.
Ayrıca, darbe genliklerinin yüksekliğini ve şeklini etkileyen diğer faktörleri de unutmamalıyız. Bu durum büyük ölçüde alan duvarları arasındaki mesafeye bağlıdır. Yan yana duvarlar arasındaki mesafe sinyal genliğini etkiler. Duvarlar birbirlerine ne kadar yakınsa darbe genlikleri o kadar düşük olacaktır. Sapmalar aynı zamanda manyetik yüzeyin yerel özelliklerine ve kristal yapının durumuna da bağlıdır. Mıknatıslanma durumu ve sinyal parametreleri harici manyetik alanlardan, sabit disk sürücüsünün sıcaklık ve besleme voltajındaki dalgalanmalarından da etkilenir.
Veriler dikey (perpendicular) manyetik kayıt yöntemiyle kaydedilirken ortaya elektromanyetik bir gürültü çıkar. Çıkan bu elektromanyetik gürültünün kaynağı, kayıt kafasının oluşturduğu manyetik alanın kuvvet çizgilerini çerçevelemek için kullanılan yumuşak alt katman (Soft-Under-Layer)’dır. Gutmann'ın makalesinin yazıldığı dönemde sabit disklerde sadece paralel yazma kullanılsa da günümüzde tüm sabit disklerde dikey kayıt kullanılmaktadır. Dikey kayıt ile ilgili detayları "Perpendicular magnetic recording" kitabında bulabilirsiniz. Yukarıdaki faktörlerin dalga formu üzerindeki etkisini filtreleyerek yalnızca önceki mıknatıslanma durumundan kaynaklanan gürültüyü izole etmek çok zor bir iştir, çünkü bu faktörlerden bazıları yeniden doğru bir biçimde üretilmesi mümkün olmayan dışsal koşullara bağlıdır. Alan duvarlarının yeterince doğru olacak şekilde bir önceki konumunu bulmak daha da zordur.



Sabit Disk Sürücülerde Veri Kodlama



Peter Gutmann'ın makalesinden alınan yukarıdaki alıntı ve sonraki alıntılar, onun sabit disklerdeki veri kodlama sürecini anlamamış olabileceğini göstermektedir. Aslında yayınının tamamına bakıldığı zaman bilgisayar tarafından disk arayüzüne gönderilen verilerin 1’ler ve 0’lardan oluşan oluşan ham veri dizileri olarak depolandığı anlaşılmaktadır. Bu şaşırtıcıdır, çünkü aynı zamanda kendisi de birçok kez çeşitli veri kodlama yöntemlerinden bahsetmektedir ve hatta kendi algoritmasının “üzerine yazma desenlerini” veri kodlama yöntemleriyle eşleştirmeye çalışmaktadır.
Aslında diske yazılan veri, 0 ve 1 dizisi şeklinde gelen veri akışından tamamen farklı olarak kodlanmış bir veridir. Verilerin iletimi, işlenmesi ve depolanması aşamalarında hatalara karşı açık olması nedeniyle, genellikle sağlama toplamları (checksum) ve hata düzeltme kodları (ECC) şeklinde çeşitli güvenlik önlemleri kullanılmaktadır. Sabit disklerde saklanan veriler bu şekilde güvence altına alınmaktadır. Veri bütünlüğü güvencesinin ayrıntıları zamanla gelişmiştir ve ayrıca üreticilere göre de değişmektedir. Ancak bizim amacımız için bu tür düzeltme kodlarının var olduğunu ve veri içeriğini korumak için diskin her sektörüne hesaplanıp eklendiğini bilmek yeterlidir.
Rastgeleleştirmenin amacı, tekrar eden karakterlerden oluşan uzun dizileri parçalamaktır. Birbirinin aynı olan yani tekrarlanan sembol dizileri, okuma-yazma kanalında duran dalgalara, dalga yansımalarına veya parazitik harmonikler gibi olumsuz dalga fenomenlerine katkıda bulunabilir. Ayrıca, tekrarlanan sembol dizileri semboller arası girişime (Inter Symbol Interference-ISI) neden olabilir. Disk üzerindeki izler (track) disk yüzeyine yan yana kaydedildiğinden, bu izler arasında indüktif etkiler ortaya çıkar ki buna izler arası girişim (Inter Track Interference-ITI) adı verilir.
Veri kodlamanın en önemli aşaması, bizim bakış açımıza göre, diske yazılacak verileri hazırlamaktır. Sabit disk sürücülerinde kullanılan ilk veri kodlama yöntemi FM (Frekans Modülasyonu)’dur. Bu yöntemde her bir saat darbesinin arasına verileri oluşturan bitler yerleştirilerek veriler kaydedilir. Bu yöntemde, eğer yerleştirilecek bit 1 ise saat darbeleri arasına ekstra bir saat darbesi daha eklenir, eğer eklenecek bit 0 ise ekstra bir saat darbesi eklenmez.
Bu veri kodlama yöntemi, 0 bitinin bir uzun manyetik alanla ve 1 bitinin ise iki kısa manyetik alanla kodlandığı verimsiz bir yöntemdi. Zamanla, saat darbelerinin sayısının sınırlandırılmasıyla kayıt yoğunluğunun iyileştirildiği MFM (Modifiye Frekans Modülasyonu) yöntemi tanıtılarak frekans modülasyonu yöntemi optimize edilmeye çalışılmıştır. Ancak asıl devrim, saat darbelerini tamamen ortadan kaldırılması ile gerçekleşmiştir. Bu kodlama yöntemi sayesinde (Run Length Limited-RLL) veri kayıt yoğunluğu manyetik alan başına birkaç bite çıkarılmıştır.
RLL kodlaması kendiliğinden saat darbeli (self-clocking) bir kodlamadır. Bu yöntemde darbeler arasındaki süre kod çözücü çip tarafından hesaplanarak, her darbe arasına belirli sayıda sıfır biti yerleştirilir. Sıfırların sayısı darbeler arasındaki süreye göre hesaplanır. Bu durum, bir alanın birden fazla biti kodlayabileceği ve birimler arasındaki bit sayısının, alanın boyutuna bağlı olacağı anlamına gelir. 1’ler arasına yerleştirilecek 0’ların minimum ve maksimum sayısı, sinyalin frekansına (elde edilebilir kararlı manyetik alan boyutları, disk dönüş hızı, v.b.), okuma kafalarının hassasiyetine, kod çözücü çipinin sinyal işleme ve ECC kodlarıyla hata düzeltme yeteneği dikkate alınarak belirlenir.
Böylece okuma hataları veya sinyalin senkronizasyon bozukluğu en aza indirilir. Aynı zamanda iki alan duvarı arasında her zaman bir manyetik alan bulunur, dolayısıyla RLL kodlamada iki ardışık mantıksal birim olamaz. Bunların arasında daima en azından bir adet 0 bulunmalıdır. Gerçek veriler bu koşulu nadiren sağladığından, uygun diziler kullanılarak yeniden hesaplanmaları gerekir. Bu nedenle kelimenin tam anlamıyla bit’leri tek tek kurtarmaya çalışmak imkansızdır. Bir sektörden daha küçük boyuttaki veri bölümlerini kurtarma girişimleri, bu bölümlerin uygun şekilde ele alınması ve kodunun çözülmesi gereksinimi nedeniyle karmaşıktır.
Sabit disklerde veri kodlama konusu çok geniş bir konudur. RLL kod geliştiricisi Cornelius (Kees) Antoin Schouhammer Immink'in “Codes for Mass Data Storage Systems adlı kitabından ve Bane Vasić ve Erozan M. Kurtas'ın “Coding and Signal Processing for Magnetic Recording Systems adlı kitabından veri kodlama hakkında daha fazla bilgi edinebilirsiniz. Veri kodlama süreci hakkında daha fazla bilgi edinmek istiyorsanız, Charles Sobey'in diskten bağımsız veri kurtarma konusundaki çalışması da ilginizi çekebilir. Manyetik plakaları inceleme ve diskten bağımsız olarak kod çözme süreci Isaac D. Mayergoyz ve Chun Tse'nin "Spin-Stand Microscopy of Hard Disk Data" adlı kitabında da anlatılmaktadır.



Minimum Adresleme Birimi



"...when data is written to the medium, the write head sets the polarity of most, but not all, of the magnetic domains. This is partially due to the inability of the writing device to write in exactly the same location each time, and partially due to the variations in media sensitivity and field strength over time and among devices."

"...veri, medyaya yazıldığında yazma kafası manyetik alanların hepsinin olmasa da çoğunun polaritesini ayarlar. Bunun nedeni yazma cihazının her seferinde kısmen de olsa tam olarak aynı konuma yazamamasından, kısmen de zaman içerisinde oluşan aygıtlar arasındaki medya hassasiyeti ve manyetik alan gücündeki farklılıklarından kaynaklanır."

Veri kodlama işlemi ile ilgili olarak hali hazırda bildiklerimize dayanarak şunu söyleyebiliriz ki okuma-yazma kafaları çalışırken manyetik alanları ayrı ayrı yazmaz. Bu durum, mantıksal 1’lerin arasına yerleştirilen mantıksal 0’ların kaç tane olacağının, ardışık manyetik alan duvarları arasındaki mesafeye göre belirlendiği dolayısıyla da diğer veriler kaydedilirken manyetik alan boyutunun değişmesini gerektiren RLL kodlama sistemiyle tutarlı olamayacaktır.
Ayrıca şu söylenebilir ki tek tek manyetik alanları adreslemek mümkün değildir. Disk yüzeyinin bir kısmı, diskin doğru çalışması için gerekli olan bilgilere ayrılmıştır. Ayrılan bu kısım, okuma-yazma kafasının yörüngesinin doğru bir şekilde tanımlanmasını ve kontrol edilmesini mümkün kılan servo sektörlerini ve bunların doğru şekilde adreslenmesini sağlayan sektör başlıkları gibi bilgileri içerir.
Minimum adresleme birimi sektörlerdir (önceden 512B’tı, “gelişmiş biçimlendirme” varyantında ise 4 KB’tır). Bu konu hakkında fikir edinmek için 1980’lerin ortalarında geliştirilen ve o zamandan beri sabit disk sürücülerinin işleyişini tanımlayan aynı zamanda da uyumluluklarını garanti eden temel belgeler niteliğindeki ATA ve SCSI standartlarına bakabilirsiniz. Bu standartlar on yıllar boyunca evrim geçirmiş olsa da sektörler haricinde hiçbir şeye hitap etmemiştir.
Bir sektörün bir tek bitini değiştirmek istediğimizde, bunun için tüm sektörün uygun biçimde kodlanması ve uygun bir elektromanyetik sinyal dalgasının oluşturularak disk yüzeyinde uygun bir fiziksel konuma kaydedilmesi gerekir. Bu durumu pratikte görmek istiyorsanız, küçük bir metin dosyası oluşturup, dosyayı hex editöründe açın ve içeriğinin nasıl göründüğüne bakın. Görüntülenen dosyanın sonundaki sıfırların dosyayı düzenlediğinizde korunup korunmayacağını görmek için başka içeriklerle değiştirin. Ardından bu dosyayı not defterinde tekrar düzenleyip tekrar hex editöründe açıp sektör içeriğini kontrol edin. Eski sektör içeriğinin dosya boyutunun ötesinde kalan kısmının sıfırlarla değiştirildiğini göreceksiniz. Bu nedenle, bitleri tek tek yazma, okuma, kurtarma veya adresleme hakkındaki iddialar saçmalıktır.



İz’leri Takip Etmek



"Deviations in the position of the drive head from the original track may leave significant portions of the previous data along the track edge relatively untouched."

"Asıl iz üzerinde olması gereken, okuma-yazma kafası konumlandırıcısının pozisyonunda meydana gelebilecek sapmalar, iz kenarları boyunca yerleştirilmiş verilerin önemli bölümlerinin nispeten de olsa dokunulmadan kalmasına neden olabilir."

Bu ifade, sabit disk sürücülerinin manyetik kafa bloğunu konumlandırmak için adım motorlarının kullanıldığı bir dönemde mantıklıydı. Adından da anlaşılacağı üzere bir adım motor, her zaman önceden ayarlanmış bir adım veya belirlenen adımın katları kadar döner. Ara değerlere ayarlanması mümkün değildir. Adım motorlarının bu özelliği göz önünde bulundurulduğunda, örneğin diski oluşturan bileşenlerin her birinin termal genleşmeye maruz kalması gibi bir nedenle, okuma-yazma kafasının bir önceki konumuna göre sabit bir ofset değeriyle bir izi oluşturamama riski meydana çıkmaktadır. Bu nedenle, diski oluşturan tüm bileşenlerin eşit şekilde ısınmasını sağlamak için düşük seviyeli formatlama yapmadan önce disk sürücüsünün en az yarım saat çalıştırılması önerilmiştir.
Adım motorlarının doğrusal (Voice Coil Motor-VCM) motorlarla değiştirilmesi süreci 1980'lerin ortalarında başladı ve Peter Gutmann'ın makalesi yayınlanmadan 2 yıl önce tamamlanmıştı. Adım motorlu sabit diskler üreten son şirket olan Kalok, 1994 yılında iflas etti. İki yıllık bir süre, yayının en azından manyetik kafa bloğunun konumunun düzgün bir şekilde ayarlanmasını sağlayan doğrusal motorlu (VCM) sürücülerin varlığına dikkat çekmesi veya en azından yukarıdaki ifadenin yalnızca adım motorlu cihazlar için geçerli olduğunu açıkça belirtmesi açısından yeterli bir süre olmalıdır.
Doğrusal (VCM) motorlar, iki sabit mıknatıs arasına yerleştirilen bir bobinden oluşur. Sabit bir manyetik alana yerleştirilmiş bir bobinden geçen akımın neden olduğu alternatif elektrik alanı, bu bobinin mıknatıslara göre hareket etmesini sağlar. Tipik olarak okuma-yazma kafası konumlandırıcısı bir eksen üzerinde hareket eder ve okuma-yazma kafalarını disk plakaları üzerinde bir yay şeklinde hareket ettirir. Ancak bobinin ileri-geri hareketine dayalı çözümler de geçmişte kullanılmıştır. Bu çözüm yolu daha karmaşıktı ve disk kasası içerisinde daha fazla yer kaplıyordu, bu nedenle de hızla terk edildi.
Adım motorlarının doğrusal motorlarla değiştirilmesi, kafa konumlandırma ve iz izleme alt sisteminde zorunlu değişiklikler yapılmasına neden oldu. Adımsız kafa konumlandırma, plakanın merkezi üzerinde hassas kafa takibi için olanaklar sunar, ancak bu aynı zamanda kafanın plaka üzerindeki konumunu kontrol etmek için bir geri bildirim gönderilmesini gerektirir. Plaka yüzeylerine eşit aralıklarla yerleştirilen servo sektörleri bu amaca hizmet eder. Servo sektörlerinin sayısı, sürücü modellerine göre değişir. Çoğu durumda, bunu bir disk kurtarma yazılımı olan Victoria'da kontrol edebilirsiniz. Program, sürücü pasaportunda "Wedges" parametresini görüntülerse, bu parametre servo sektörlerinin sayısını gösterir.
Servo sektörleri, okunmakta olan izin numarasını tanımlamak, disk plakalarının hızını kontrol etmek, sinyali doğru bir şekilde senkronize etmek ve izin merkezi üzerinde okuma-yazma kafasını yörüngesinde tutmak için bir dizi bilgi içerir. Bu makalenin amacı göz önüne alındığında, biz sonuncusuna odaklanacağız. Her servo sektörü, bir “konumlandırma hata sinyali” (Position Error Signal-PES) üreten servo patlaması (servo bursts) alanlarını içerir. Bu sinyal, okuma-yazma kafasının izin merkezinden hangi yöne ve ne kadar saptığını belirlememizi mümkün kılar.
Konumlandırma hata sinyaline dayanarak, sinyal işlemcisi motor kontrol cihazına okuma-yazma kafasının konumunu ayarlaması için bir komut gönderebilir. Genellikle sabit disk sürücülerinde servo sektörlerinin sayısı iz başına 100'ü aştığından, pratikte “kafa uçuşunuizin kenarı boyunca sabit bir şekilde sürdürmek mümkün değildir. Okuma-yazma kafasının izin merkezinden sapması durumunda, konumlandırma mekanizması mevcut pozisyonunu olabildiğince çabuk düzeltmeye çalışacaktır. Bu telafi sürecinde bazı zorluklar olsa bile okuma-yazma kafasının izin merkezi üzerinde salınması ihtimali, iz kenarı boyunca “uçması” ihtimalinden çok daha fazladır.
Elbette, izin merkezinden belirli bir ofset değeri kadar mesafeyle daha önce yapılmış kayda zarar vermeyecek bir şekilde yeni bir kayıt yapılabilir. Ancak kayıt yoğunluğu arttıkça böyle bir ihtimal giderek azalır. Ayrıca, bu tür sapmaların "önceden yazılmış verilerin önemli bir kısmının" bozulmadan kalmasını sağlaması da son derece düşük bir ihtimaldir. Böyle bir durum gerçekleşse bile, bunlar en fazla ele alınması gereken, kodunun çözülmesi güç ve bu kayıtların ne zaman oluşturulduğunu belirlemenin zor olduğu küçük parçalar olacaktır. Bu makalede daha önce belirtilen bilgilere dayanarak, pratik bir şekilde iz kenarından kurtarılan verilerin kodunu çözebilmek için, en azından tutarlı bir sektörün tamamının elimizde olması gerektiğini zaten biliyoruz.
Günümüzün ultra yüksek yoğunluklu sabit disklerinde, eski veri parçalarının, bir izin kenarı boyunca kalma riski ihmal edilebilir düzeydedir. Ayrıca böyle bir sinyal, komşu izlerdeki mıknatıslanmanın etkisiyle çok güçlü bir şekilde bozulacaktır. SMR (Shingled Manyetik Kayıt) kullanan sürücülerde, bir sonraki iz yazıldığında önceki izin kısmen üzerine yazıldığından bu risk tamamen ortadan kalkar. Ayrıca okuma-yazma kafasını konumlandırmak için çok daha hassas çözümler, örneğin çok kademeli pozisyonerler gibi kontrol çözümleri kullanılmaktadır. Ancak 1980'li yıllardan ve 1990'lı yılların ilk yarısından kalma disklerde bile, bir izin kenarından okunan verilerin kurtarılmasına ilişkin pratik bir örnek gösterilememiştir.
Sabit disk servo mekaniği, iz arama ve izleme ile motor hız kontrolü gibi konular bu makalede ayrıntılı olarak ele alınamayacak kadar geniştir. Bunlar birkaç kitapta ele alınmıştır; bu kitapların arasında şunlara dikkat çekmek gerekir: 

"Механика и сервосистема" Serhiy Kojenevskıy'nin (Сергій Коженевський),
"Hard Disk Drive Mechatronics and Control" Abdullah al-Mamun, Guoxiao Guo ve Chao Bi'nin,
"Hard Disk Drive Servo Systems" Ben M. Chen, Tong H. Lee, Kemao Peng ve Venkatakrishnan Venkataramanan'nin.



Manyetik Katmanın Yeniden Mıknatıslanması



"When all the above factors are combined it turns out that each track contains an image of everything ever written to it, but that the contribution from each 'layer' gets progressively smaller the further back it was made."

"Yukarıdaki tüm faktörler bir araya getirildiğinde, her izin kendi üzerine yazılan her bir şeyin görüntüsünü içerdiği, ancak her 'katmanın’ katkısının, daha geriye gidildikçe giderek azaldığı ortaya çıkıyor."

Muhtemelen herkes, eski verilerin üzerine yeni veriler yazmanın kağıt üzerindeki yazıları kalemle silmeye benzetilmesini duymuştur. Evet, bir kağıt parçası üzerindeki yazılar çok uzun bir süre görünür kalabilir şayet bu yazılar dikkatlice silinseler bile bu yazılanları okumayı deneyebilir veya tahmin edebilirsiniz. Görünen o ki Peter Gutmann da bu benzetmenin büyüsüne kapılmış. Peki manyetik kayıt söz konusu olduğunda bu durum mantıklı mı?
Başlıklar kayıt sırasında yeni katman eklemez ancak bir manyetik katmanın mıknatıslanma sırasını değiştirir. Yeniden mıknatıslanma bir öncekinin üzerine yeni bir kayıt yüklemez, ancak manyetik alan duvarlarının sırasını farklı bir şekilde düzenleyerek onu yok eder. Dolayısıyla bu eylem, örneğin kibritlerden oluşan sembollerin yeniden düzenlenerek değiştirilmesine çok daha fazla benzemektedir ancak kağıt üzerindeki yazıların boya kalemleriyle kapatılması benzetmesi yetersiz kalmaktadır.
Okuma-yazma kafaları aslında önceki manyetik kaydı geri döndürülemez bir şekilde yok etme yeteneğine sahip mi? Burada kafaların indüklediği manyetik alan değerinin manyetik katmanın koersivitesine, yani onu yeniden mıknatıslamak için gereken manyetik alan değeriyle ilişkisine dikkat etmemiz gerekir. Sabit disk sürücülerinde tipik olarak kullanılan kobalt alaşımlarının koersivitesi yaklaşık 0,5 T'dir. Buna karşılık, manyetik kafalar 2 T'den daha büyük alanları indükleme kapasitesine sahiptir. Buna ek olarak, manyetik katmanlar, farklı mıknatıslanma polaritelerine sahip iki veya daha fazla alan katmanının içinde kararlı bir şekilde çalışabilmesi için çok incedir (kalınlıkları onlarca nm’dir). Buna karşılık, yaklaşık 1 T'lik alanları indükleyen manyetikliği gidericiler (demagnetizör-degausser), plakalar metal muhafaza elemanları içinde korunsa bile, manyetikliği giderme sürecinde verileri yok etmek için yeterlidir.
Bu fırsattan yararlanarak piyasada yeni ortaya çıkan enerji destekli kayıt disklerine - HAMR (Isı Destekli Manyetik Kayıt) ve MAMR (Mikrodalga Destekli Manyetik Kayıt) - dikkat çekmekte fayda vardır. Bu diskler, yaklaşık 6 T'lık bir koersiviteye sahip demir-platin alaşımlı manyetik plakalar kullanan disklerdir. Kayıt kafaları tarafından indüklenen manyetik alan, manyetik katmanı yeniden mıknatıslamak için açıkça söylemek gerekirse çok zayıftır. Bu nedenle, disklerin yüzeyini Curie noktasına yakın bir sıcaklığa getirilmesi gerekir ki bunun içinde ek bir enerji kaynağı kullanılır. Curie noktası, manyetik malzemenin mıknatıslanma özelliğini kaybettiği buna karşılık yeniden mıknatıslanmasının çok kolay olduğu karakteristik bir sıcaklık noktasıdır. Bu bilgi, verilerin manyetik alandan arındırılması yoluyla imhası için önemlidir, çünkü enerji destekli kayıt diskleri günümüzün popüler manyetik alandan arındırma cihazlarına karşı dirençlidir ve bu disklerdeki verileri imha etmek için yeni cihazların geliştirilmesi gereklidir.



Uzaktaki Köprü...



"The general concept behind an overwriting scheme is to flip each magnetic domain on the disk back and forth as much as possible (this is the basic idea behind degaussing) without writing the same pattern twice in a row."

"Üzerine yazma şemasının arkasındaki genel konsept, diskteki her manyetik alanı, aynı deseni art arda iki kez yazmadan mümkün olduğunca ileri geri çevirmektir. (manyetikliği gidermenin arkasındaki temel fikir budur)"

Peter Gutmann neden veri üzerine yazmayı, manyetikliği giderme (demanyetizasyon) ile karıştırıyor? Manyetik bir maddenin manyetizasyonunu iki açıdan ele alabiliriz. Makro ölçekte, şayet bir cisim kendisi bir manyetik alan indüklüyorsa o cismin mıknatıslanacağını düşünebiliriz. Bu cisim, manyetik alanının mıknatıslanma düzeninden dolayı sıfır olmayan bir mıknatıslanmaya sahip olacaktır. Bu anlamda manyetik plakalar mıknatıslanmamaktadır. Bu durum, sabit diskten çıkarılan plakaların, harici bir manyetik alana karşı tepki vermesi gereken metallerle etkileşime girdiğinde nasıl tepki verdiklerini gözlemleyerek kolayca doğrulanabilir.
Nano ölçekte her manyetik cisim bir şekilde mıknatıslanır. Mıknatıslanma, harici bir manyetik alan tarafından sağlanmazsa manyetik alanlar kendiliğinden ortaya çıkar ve bunların indüklediği alanlar birbirini yok eder. Manyetik kayıt, istediğimiz ve spesifik bilgi olarak yorumlayabileceğimiz mantıksal durumları temsil edecek şekilde manyetik alanların düzenlenmesinden oluşur. Çalışan bir sabit disk her zaman düzenli bir mıknatıslanmaya sahiptir, her zaman bir miktar bilgi içerir ve mantıksal yapılar düzeyinde boş olduğunu düşünsek bile, içeriğine bir hex editörde baktığımızda her zaman bazı değerleri görebiliriz.
Demanyetizasyon, bu düzeni tamamen bozacak şekilde bir elektromanyetik darbenin uygulanmasıdır, bunun sonucunda plaka üzerindeki manyetik alanlar kaotik bir mıknatıslanma durumuna geçer. Bu tür bir mıknatıslanma yorumlanamadığından, mıknatıslanma yok edildiğinden dolayı disk plakalarından hiçbir şey okunamaz. Mıknatıslanmanın giderilmesi servo bilgisini de yok edeceğinden okuma-yazma kafaları servo sinyalini bulamaz ve “vuruntu” yapmaya başlar. Mıknatıslanma giderildikten sonra disk kullanılamaz hale gelir.
Üzerine yazma işlemi ise mevcut mıknatıslanma sırasını başka bir sıralamayla değiştirmek suretiyle verileri yok eder. Sonuç olarak veriler mantıksal olarak yorumlanabilir, ancak artık işe yaramaz bir bilgi kümesinden başka bir şey değildir. Ancak verileri yok etmek için her manyetik alanın polarizasyonunu değiştirmek gerekli değildir. Manyetik alanların başlangıçta olduklarından farklı bir şekilde hizalanması yeterlidir.
Demanyetizasyon ve üzerine yazma, iki farklı veri imha yöntemidir. Demanyetizasyon, mıknatıslanma düzenini tamamen bozan ve dolayısıyla diskin kendisini de yok eden harici bir cihaz gerektirir. Üzerine yazma yöntemi, yalnızca üzerine yazılacak sektörlerin mıknatıslanma sırasını değiştirirken, görev alanı bilgileri, servo sektörleri ve sektör başlıkları gibi diskin düzgün çalışması için gerekli olan yapıları bozmadan bırakır. Ayrıca, üzerine yazma yöntemi, sürücünün tüm içeriğini yok etmeden, seçilen dosyaların silinmesi gibi selektif veri imhasına olanak tanır.



Uzaktaki diğer bir köprü...



"To erase magnetic media, we need to overwrite it many times with alternating patterns in order to expose it to a magnetic field oscillating fast enough that it does the desired flipping of the magnetic domains in a reasonable amount of time. Unfortunately, there is a complication in that we need to saturate the disk surface to the greatest depth possible, and very high frequency signals only "scratch the surface" of the magnetic medium (...). Disk drive manufacturers, in trying to achieve ever-higher densities, use the highest possible frequencies, whereas we really require the lowest frequency a disk drive can produce. Even this is still rather high. The best we can do is to use the lowest frequency possible for overwrites, to penetrate as deeply as possible into the recording medium."

"Manyetik medyayı silmek için, alternatif desenlerde olmak koşuluyla birçok kez üzerine yazma işlemi yapmamız gerekir. Bunu yapabilmek için de medyayı, manyetik alan duvarlarının yönünü makul bir sürede değiştirecek kadar hızlı bir şekilde salınan bir manyetik alana maruz bırakmak gerekir. Ne yazık ki, disk yüzeyini mümkün olan maksimum derinlikte saturasyona maruz bırakmamız gerektiğinden ve çok yüksek frekanslı sinyaller manyetik ortamın sadece “yüzeyini etkilediğinden” dolayı bir komplikasyon mevcuttur. Disk sürücüsü üreticileri, her zamankinden daha yüksek yoğunluklara ulaşmaya çalışırken, mümkün olan en yüksek frekansları kullanırlar, oysa ki bizim gerçekten bir disk sürücüsünün üretebileceği en düşük frekansa ihtiyacımız vardır. Yapabileceğimiz en iyi şey, üzerine yazma işlemi için mümkün olan en düşük frekansı kullanarak kayıt ortamına mümkün olduğunca derinlemesine nüfuz etmektir."

Zaten bilindiği üzere, manyetik kayıtta verilerin yok edilebilmesi için önemli olan şey, teker teker manyetik alanların kutuplarının tersine çevrilmesi değil, manyetik alan duvarlarının yer değiştirilmesidir. Ayrıca veri kaydı için kullanılacak manyetik alanın frekansı öncelikli olarak kaydedilecek sinyalin frekansına bağlıdır. Veri kodlama süreci göz önüne alındığında, mümkün olan en yüksek frekansa sahip (mantıksal sıfırlara göre mümkün olduğunca çok sayıda mantıksal bir içeren) bir sinyal elde etmek, tüm kodlama adımlarının anlaşılmasını ve dikkate alınmasını gerektirir.
Bu fikrin kendisi büyük olasılıkla mıknatıslanmış cisimlerin makro ölçekte manyetikliğini giderme yönteminden gelmektedir. Böyle bir cismin manyetikliğini gidermek için koersivitesine tam olarak karşılık gelen bir manyetik alanla etkilemek çok zor olduğundan ve mıknatıslanmanın polarizasyonunu tersine çevirmek çok daha olası olduğundan, cismin manyetikliğini giderme, azalan yoğunlukta yüksek frekanslı bir manyetik alan kullanılarak gerçekleştirilir. Bu şekilde kutupların her tersine çevrilmesinde, cisim giderek daha da az mıknatıslanır (kalıcılık doygunluktan sıfıra yakın bir duruma düşer). Sabit diskler söz konusu olduğunda, kayıt kafaları altlarında dönen plakanın yüzeyinde bir manyetik alan oluşturur. Belirli bir alanın yeniden mıknatıslanabileceği süre, öncelikle plakanın dönüş hızına bağlıdır.
Peter Gutmann makalesinde bir yandan veri kodlamanın belirli unsurlarına sık sık atıfta bulunurken diğer yandan da konuyu çok yüzeysel ve parça parça ele almakta çoğu zaman da konuyu verilerin güvenli bir şekilde imhası için birden fazla kez üzerine yazma işleminin gerekli olduğu şeklindeki tezi etrafında özetlemektedir. Temel olarak, RLL kodlaması için kritik öneme sahip olan manyetik alanların yeniden boyutlandırılması, birleştirilmesi ve bölünmesi süreçlerini göz ardı etmektedir. Bunun yerine, polarizasyon yönlerini tersine çevirme sürecine aşırı odaklanmaktadır. Düşüncelerinde daha önce fark ettiğimiz ve daha sonra da göreceğimiz gibi bir tutarsızlık bulunmaktadır. Ayrıca yukarıda da bahsettiğim gibi manyetik katman ilk seferde saturasyona ulaşacak kadar mıknatıslanamayacak bir inceliktedir. Bu durum özellikle, mıknatıslanma polarizasyon vektörünün plaka yüzeyine dik olduğu ve böylece alanların manyetik katmanda dikey olarak hizalandığı dikey kayıt için geçerlidir.



ECC Düzeltme Kodları



Therefore even if some data is reliably erased, it may be possible to recover it using the built-in error-correction capabilities of the drive.

Bu nedenle, bazı veriler güvenilir bir şekilde silinse bile, sürücünün yerleşik hata düzeltme özelliklerini kullanarak bunları kurtarmak mümkün olabilir.

İşte Peter Gutmann'ın veri kodlama konusuna aşırı rahat yaklaştığına dair bir başka örnek. Yukarıdaki cümle, bir sektörün içeriği silinirken, ona ait düzeltme kodlarının geride bırakılabileceği ihtimalini akla getiriyor. Bu mümkün değildir; çünkü düzeltme kodları, veri kodlama aşamasında hesaplanır ve sinyal dalga formu oluşturulmadan önce sektöre eklenir. Bu şekilde oluşturulan sinyal indüklenmiş okuma-yazma kafası tarafından disk plakasına yazılacaktır. Bir sektörün üzerine başka içerik yazdığımızda, orijinal verilerle ilişkili düzeltme kodlarının da üzerine yazmış oluruz.
Daha eski disk modellerinde, kasıtlı olarak yanlış toplam-kontrol (checksum) değerleri üretmek ve depolanan verilerle eşleşmeyen hata düzeltme kodlarına sahip sektörleri oluşturmak mümkündü. Bu tür sektörler doğru okunamasa da şayet okunmaya çalışıldığında disk UNC hatası verse de, önceki sektör içeriğine ilişkin düzeltme kodları yok edilerek yenileriyle değiştirilir. Bu özellik, örneğin MHDD programında, belirtilen LBA (Mantıksal Blok Adresleme) adresinde "kötü" bir sektör oluşturan "MAKEBAD" veya rastgele konumlarda "kötü" sektörler oluşturan "RANDOMBAD" komutlarıyla uygulanır.
Dahası, Peter Gutmann, ECC kodlarının düzeltme yeteneklerini açıkça abartmaktadır. Düzeltme kodları her ne kadar bit bazlı hataların konumunun belirlenmesine ve düzeltilmesine izin verse de mevcut ve okunabilir sektörlerde meydana gelen sınırlı sayıda hata için geçerli bir durumdur. Tipik olarak düzeltme kodları sektör başına yaklaşık 200 bit kadar hatayı düzeltebilir. Hata sayısı bu sayının üzerine çıkarsa sürücü bir UNC hatası verir. Var olmayan bir sektörün içeriğini yalnızca düzeltme kodlarına dayanarak yeniden oluşturmaya çalışmak için bu kesinlikle yeterli değildir. Bit bazlı hataların düzeltme kodunun kendisinde de oluşabileceğini unutmamalıyız.



Çözüm



"Data which is overwritten an arbitrary large number of times can still be recovered provided that the new data isn't written to the same location as the original data..."

"Eski verilerle aynı konuma yazılmadığı sürece eski verilerin üzerine keyfi olarak birçok kez yeni veriler yazılsa bile eski veriler yine de kurtarılabilir..."

Peter Gutmann bu cümlede açıkça kendisiyle çelişmektedir. Aynı konuma yeni veri yazılmaması koşuluyla, o konumda bulunan eski veri üzerine birçok kez yeni veri yazılsa bile eski verilerin hala kurtarılabileceğini varsaymaktadır. Ancak üzerine yazmanın özü, mantıksal düzeyde yorumlanamayan bir üzerine yazma deseni olsa bile yok etmek istediğimiz verilerin yerine yeni veriler yazmaktır. Çünkü disk için bu durum diğer veri akışlarıyla benzer bir veri akışıdır, disk bunun ayrımına varamaz. Peter Gutmann'ın bunu anlamaması çok tuhaf olurdu. Öte yandan bu cümle, bir çok kez tekrarlanan üzerine yazma işleminin amacını baltalamakta ve üzerine yazma işleminin bir kez yapıldıktan sonra verileri yok ettiğini doğrulamaktadır.



PRML – Kısmi Yanıt – Maksimum Olasılık



"The article states that «The encoding of hard disks is provided using PRML and EPRML», but at the time the Usenix article was written MFM and RLL was the standard hard drive encoding technique... "

"Makalede «Sabit disklerin kodlanması PRML ve EPRML yöntemleri kullanılarak yapılır» ifadesi yer almakta, ancak Usenix makalesinin yazıldığı dönemde MFM ve RLL standart bir sabit disk kodlama tekniğiydi... "

Sonsözde Peter Gutmann, Craig Wright, Dave Kleiman ve Ramajad Srinivasan Shyaam Sundhar'ın 2008 tarihli "Overwriting Hard Drive Data: The Great Wiping Controversy" adlı makalesine atıfta bulunmaktadır. Bu yayının yazarları, Peter Gutmann tarafından ortaya konulan varsayımları pratik olarak doğruladılar ve önceki mıknatıslanma izlerini aramak için plaka yüzeyini mikro manyetik düzeyde analiz ederek üzerlerine yazılmış verileri kurtarmanın imkansızlığını ortaya koydular. Bu yayının yazarları veri kodlama konusuna oldukça gevşek bir şekilde yaklaşmış olsalar da, burada esas olarak Gutmann algoritması ve onu açıklayan makaleyle ilgileniyoruz.
Peter Gutmann, Craig Wright, Dave Kleiman ve Ramajad Srinivasan Shyaam Sundhar'ın araştırmalarının yetersiz olduğunu ve bulgularına şüphe düşürmemesi gerektiğini, çünkü inceledikleri sürücülerin PRML kullandığını, oysa makalesini yazdığı sırada standart veri kodlama yöntemlerinin MFM ve RLL olduğunu belirtiyor. Bu asılsız bir suçlamadır çünkü PRML bir veri kodlama tekniği değildir. MFM veya RLL'nin yerine geçmez, ancak sinyal algılama ve kod çözmede kullanılır ve darbelerin tepe noktalarını tespit etmeye yönelik eski bir yönteminin yerini almıştır. Bu yöntem 1990'ların başından beri kullanılmaktadır ve bu nedenle 1996 yılında Peter Gutmann'a yabancı olmamalıdır. Bununla birlikte 1980’li yılların ortalarında sabit sürücülerde MFM kodlama yöntemi yerini RLL’ye bıraktı. 1990'ların ortasına kadar yalnızca disketlerde kullanıldı.
Piyasaya çıktıkları ilk on yıllık zaman diliminde sabit disklerin yoğunluğu düşüktü, manyetik alan duvarlarının boyutu oldukça büyüktü, öyle ki alan duvarları nispeten abartılı boyutlarda yer kaplamaktaydı. Daha sonra bu alan duvarları okuma-yazma kafalarının okuduğu sinyalde yüksek genliğe sahip net darbeler ve tespit edilebilmesi kolay tepe noktaları ürettiler. Artan kayıt yoğunluğu, sinyal-gürültü oranının bozulmasına neden olurken, RLL kodlamasının kullanılmaya başlanması ise sinyalin saat bileşenini ortadan kaldırdı, bu da sinyal senkronizasyonunun bozulmasına ve kod çözücü devresinin ardışık sıfırların sayısını hatalı bir şekilde hesaplama riskini artırdı.  Daha sonra tepe tespit yönteminin yetersiz olduğu görülmüş ve PRML yöntemi ile değiştirilmiştir.
PRML (Partial Response–Maximum Likelihood / Kısmi Yanıt-Maksimum Olabilirlik), bir sinyalin kısmi yanıtla okunma ihtimalini maksimum olasılıkla belirlememizi sağlayan bir yöntemdir. Bu yöntem, sonraki darbe tepe noktalarını yakalamaya odaklanmaz, ancak tüm sinyal dalga formunu analiz eder ve en olası darbe dağılımını belirlemeye çalışır. PRML, tepe tespitinden farklı olarak referans eşik değerlerini kullanmaz, ancak tüm darbelerin genliklerini, şeklini ve yüksekliğini analiz eder ve bu temelde hangisinin kaydedilen sinyalden, hangisinin arka plan gürültüsünden geldiğini belirler. Kayıt sırasında veri kodlama yöntemine bakar ve bunun sonucunda sinyal dalga formunun kendisiyle uyumsuz görünen varyantlarının reddedilmesine olanak tanır. Örneğin RLL kodunun belirli bir sürümü için izin verilenden iki eksik veya daha fazla mantıksal sıfır içeriyorsa hemen reddedilir.
Peter Gutmann'ın Craig Wright, Dave Kleiman ve Ramajad Srinivasan Shyaam Sundhar'ın sonuçlarını bu temelde sorgulaması, kendisinin 2008'den sonra geliştirilen sabit disklerde veri kodlama ve sinyal işleme alanındaki çözümlerle bile arasının açık olduğunu kanıtlıyor. PRML'nin RLL kodlamasının yerini aldığını öne sürmek, SMR'nin dikey kaydın yerini aldığını söylemek kadar yanlıştır. Craig Wright, Dave Kleiman ve Ramajad Srinivasan Shyaam Sundhar'ın makalesinin yayınlanmasının ardından, manyetik kuvvet mikroskobu kullanılarak üzerlerine yazılan verilerin kurtarılmasına yönelik araştırmalara olan ilgi tamamen ortadan kalktı. Benzer şekilde Serhiy Kojenevskıy'nin (Сергій Коженевський) okuma-yazma kafalarında yakalanan sinyalin dalga formunun osilaskop ile incelenmesi şeklindeki çalışmaları da sona erdiğinde osilaskop araştırmalarına olan ilgi de ortadan kalktı. Böylelikle bu çalışmanın, üzerlerine yazılan verilerin pratik olarak kurtarılmasında kullanılma olasılığına ilişkin umutlar da tükenmiş oldu.



Üzerine Yazma Yönteminin Gerçek Riskleri



Yukarıda belirtilenler, üzerine yazma yönteminin herhangi bir risk veya tehdit içermediği anlamına gelmez. Operatör hataları, kontrol dışı işlem kesintileri, cihaz ve yazılım arızaları veya etkili bir veri imhasını önlemeyi amaçlayan kasıtlı eylemler her zaman mümkündür. Ayrıca, yanlışlıkla veya kasıtlı olarak verilere ait olan LBA adresleleri dışında gizlenme olasılığıyla ilgili riskler de vardır.
Veriler, örneğin DCO (Device Configurration Overlay) veya HPA (Host Protected Area) işlevleri kullanılarak LBA adreslemesinin dışında kalan gizlenmiş alanlarda bulunabilir. SMR sürücüler söz konusu olduğunda, eski veriler bulundukları LBA adres aralığının dışında kontrolsüz bir şekilde varlığını sürdürebilir ve bunların konumu ve güvenilir bir şekilde üzerine yazma işleminin gerçekleşmesi, LBA’dan fiziksel adreslemeye dönüştürülmesini sağlayan alt sistemin analiz edilmesini ve anlaşılmasını gerektirir. Ayrıca her diskte LBA adresi verilmemiş sektörler de vardır. Bunlar örneğin nominal kapasitesine ulaşmak için ihtiyaç duyulandan fazla olan yedek sektörler veya diskin sonundaki fiziksel sektörlerdir. Bu tür sektörler verileri kasıtlı olarak gizlemek için kullanılabilir, ancak bunların hem gizlenmesi hem de daha sonra okunması, disk ürün yazılımı (firmware) hakkında uygun bilgi sahibi olmaya ve fiziksel adreslemeyle ilgili çalışma yeteneğine sahip olmayı gerektirir.
Ancak, birden çok kez üzerine yazma işlemi yukarıdaki risklerden hiçbirine karşı koruma sağlamaz. Verilerin üzerine yazma işleminin güvenliğinin iyileştirilmesi, öncelikle mantıksal adresleri (LBA) fiziksel adreslere dönüştüren alt sistemin analiz edilmesine ve fiziksel adreslemeden sonra verilerin üzerine yazma işlemine odaklanılmalıdır. Bu nedenle, dosyaların tek tek seçilerek silinmesini değilde, diskin tüm içeriğini yok etmek istiyorsak, LBA adresleme ile çalışan programlardan ziyade donanıma çok daha yakın çalışan Güvenli Silme (Secure Erase) prosedürünü seçmek daha iyidir. Veriler, üzerine yazma işlemi uygulanır uygulanmaz ilk seferde geri alınamayacak şekilde yok edilir. Sonraki her geçiş sadece gereksiz bir masraf ve zaman kaybıdır ve bu muhtemelen en sonunda Gutmann’ın algoritmasını çöpe atmak için yeterli bir nedendir.



Kaynakça:



1] Gutmann, P.: Secure Deletion of Data from Magnetic and Solid-State Memory. Proceedings of the Sixth USENIX Security Symposium, San Jose, CA, July 22-25, (1996),
2] Коженевський, С. Р.: Взгляд на жёсткий диск "изнутри". Магнитные головки, ООО "ЕПОС", Київ (2009).
3] Gomez, R., Adly, A., Mayergoyz, I., Burke, E.: Magnetic Force Scanning Tunnelling Microscope Imaging of Overwritten Data, IEEE Transactions on Magnetics 28(5), (1992),
4] Gomez, R., Burke, E., Adly, A., Mayergoyz, I., Gorczyca, J.: Microscopic Investigations of Overwritten Data, Journal of Applied Physics 73(10), 6001 (1993),
5] Bertram, H. N.: Theory of Magnetic Recording, Cambridge University Press, London (1994),
6] Bertram, H. N., Fiedler, L. D.: Amplitude and bit shift spectra comparision in thin metalic media, IEEE Transactions on Magnetics 19(5) (1983),
7] Коженевський, С. Р.: Взгляд на жёсткий диск "изнутри". Перезапись информации, ООО "ЕПОС", Київ (2006),
8] Khizroev, S., Litvinov, D.: Perpendicular magnetic recording, Kluiwer Academic Publishers, Dordrecht (2004),
9] Schouhamer Immink, K. A.: Codes for Mass Data Storage Systems, Shannon Foundation Publishers, Eindhoven (2004),
10] Vasić, B., Kurtas, E. M.: Coding and signal processing for magnetic recording systems, CRC Press LLC, Boca Raton (2005),
11] Wu, Z.: Coding and Iterative Detection for Magnetic Recording Channels, Springer Science + Business Media LLC, New York (2000),
12] Sobey, Ch. H.: Drive-Independent Data Recovery: The Current State-of-the-Art, IEEE Transactions on Magnetics 42(2), (2006),
13] Mayergoyz, I. D., Tse, C.: Spin-stand Microscopy of Hard Disk Data, Elsevier Science Ltd., Amsterdam (2007),
14] Amer, A., Holliday, J., Long, D. D. E., Miller E. L., Paris, J-F., Schwartz, T. S. J.: Data Management and Layout for Shingled Magnetic Recording, IEEE Transactions on Magnetics, 47(10), (2011),
15] Miura, K., Yamamoto, E., Aoi, H., Muraoka, H.: Skew angle effect in shingled writting magnetic recording, Physics Procedia 16, (2011),
16] Коженевський, С. Р.: Взгляд на жёсткий диск "изнутри". Механика и сервосистема, ООО "ЕПОС", Київ (2007).
17] Mamun, al, A., Guo, G. X., Bi, Ch.: Hard Disk Drive Mechatronics and Control, CRC Press, Boca Raton, (2006),
18] Chen, B. M., Lee, T. H., Peng, K., Venkataramanan, V.: Hard Disk Drive Servo Systems, Springer-Verlag, London, (2006),
19] Du, C., Pang, C. K., Multi-Stage Actuation Systems and Control, CRC Press, Boca Raton, (2019),
20] Plumer, M. L., Ek van, J., Weller, D.: The physics of ultra-high-density magnetic recording, Springer-Verlag, Berlin (2001),
21] Ababei, R.-V., Ellis, M. O. A., Evans, R. F. L., Chantrell, R. W.: Anomalous damping dependence of the switching time in Fe/FePt bilayer recording media, Physical Review B99 024427 (2019),
22] Riggle, C. M., McCarthy, S. G.: Design of Error Correction Systems for Disk Drives, IEEE Transactions on Magnetics 34(4), (1998),
23] Wright, C., Kleiman, D., Shyaam Sundhar, R. S.: Overwriting Hard Drive Data: The Great Wiping Controversy. R. Sekar and A.K. Pujari (Eds.): ICISS 2008, LNCS 5352, Springer-Verlag Berlin, Heidelberg (2008), 24] Sugawara, T., Yamagishi, M., Mutoh, H., Shimoda, K., Mizoshita, Y.: Viterbi detector including PRML and EPRML, IEEE Transactions on Magnetics 29(6), (1993),
25] Gupta, M. R., Hoeschele, M. D., Rogers, M. K: Hidden Disk Areas: HPA and DCO. International Journal of Digital Evidence 5(1), (2006).